<?php


namespace app\manage\controller;

use app\manage\model\Token;
use think\Validate;
class Advert
{

    public function __construct()
    {
        $this->token=new Token();
        $this->advert=new \app\manage\model\Advert();
    }

    /**
     * 首页banner列表
     */
    public function bannerList(){
        $param=input();
        $page=empty($param['current_page']) ? 1 : $param['current_page'];
        $page_size=empty($param['page_num']) ? 10: $param['page_num'];

        $returnData=$this->advert->bannerList($page,$page_size);

        returnJson(200,'success',$returnData);
    }

    /**
     * 添加banner
     */
    public function bannerAdd(){
        $param=input();
        $validate = new Validate([
            ['location', 'require', '广告位置不能为空'],
            ['advert_pic', 'require', '广告图片不能为空'],
            ['status', 'require', '显示状态不能为空'],
            ['sort', 'require', '排序不能为空'],
            ['jump_type', 'require', '跳转方式不能为空'],
            ['jump_id', 'require', '跳转id不能为空'],
            ['jump_url', 'require', '跳转路径不能为空'],
        ]);
        if(!$validate->check($param))
        {
            returnJson(-2003,$validate->getError());
        }

        $this->advert->bannerEdit($param);

        returnJson(200,'操作成功');
    }

    /**
     * banner 修改排序
     */
    public function bannerSort(){
        $param=input();
        $id=$param['id'];
        $data['sort']=$param['sort'];
        $data['update_time']=time();
        $this->advert->advertEdit($id,$data,1);
        returnJson(200,'操作成功');
    }

    /**
     * banner 是否显示
     */
    public function bannerShow(){
        $param=input();
        $id=$param['id'];
        $data['status']=$param['status'];
        $data['update_time']=time();
        $this->advert->advertEdit($id,$data,1);
        returnJson(200,'操作成功');
    }

    /**
     * banner 删除
     */
    public function bannerDel(){
        $id=input('id');
        $this->advert->advertDel($id,1,1);
        returnJson(200,'操作成功');
    }

    /**
     * banner  批量删除
     */
    public function bannerDelAll(){
        $id=input('ids');
        $this->advert->advertDel($id,2,1);
        returnJson(200,'操作成功');
    }

    /**
     * banner 编辑页面数据
     */
    public function bannerEdit(){
        $id=input('id');
        $field='id,advert_pic,sort,status,location,jump_type,jump_id,target_url as jump_url,goods_type';
        $returnData=$this->advert->advertDetail($id,1,$field);
        returnJson(200,'success',$returnData);
    }

    /**
     * banner  编辑提交
     */
    public function bannerSubmit(){
        $param=input();
        $validate = new Validate([
            ['id', 'require', 'id不能为空'],
            ['location', 'require', '广告位置不能为空'],
            ['advert_pic', 'require', '广告图片不能为空'],
            ['status', 'require', '显示状态不能为空'],
            ['sort', 'require', '排序不能为空'],
            ['jump_type', 'require', '跳转方式不能为空'],
            ['jump_id', 'require', '跳转id不能为空'],
            ['jump_url', 'require', '跳转路径不能为空'],
        ]);
        if(!$validate->check($param))
        {
            returnJson(-2003,$validate->getError());
        }

        $this->advert->bannerEdit($param);

        returnJson(200,'操作成功');
    }


    /**
     * 商城banner 列表
     */
    public function mallList(){
        $param=input();
        $page=empty($param['current_page']) ? 1 : $param['current_page'];
        $page_size=empty($param['page_num']) ? 10: $param['page_num'];

        $returnData=$this->advert->mallList($page,$page_size);

        returnJson(200,'success',$returnData);
    }

    /**
     * 商城添加banner
     */
    public function mallAdd(){
        $param=input();
        $validate = new Validate([
            ['location', 'require', '广告位置不能为空'],
            ['advert_pic', 'require', '广告图片不能为空'],
            ['status', 'require', '显示状态不能为空'],
            ['sort', 'require', '排序不能为空'],
            ['jump_type', 'require', '跳转方式不能为空'],
            ['jump_id', 'require', '跳转id不能为空'],
            ['jump_url', 'require', '跳转路径不能为空'],
        ]);
        if(!$validate->check($param))
        {
            returnJson(-2003,$validate->getError());
        }


        $this->advert->mallEdit($param);

        returnJson(200,'操作成功');
    }

    /**
     * 商城banner 修改排序
     */
    public function mallSort(){
        $param=input();
        $id=$param['id'];
        $data['sort']=$param['sort'];
        $data['update_time']=time();
        $this->advert->advertEdit($id,$data,2);
        returnJson(200,'操作成功');
    }

    /**
     * 商城banner 是否显示
     */
    public function mallShow(){
        $param=input();
        $id=$param['id'];
        $data['status']=$param['status'];
        $data['update_time']=time();
        $this->advert->advertEdit($id,$data,2);
        returnJson(200,'操作成功');
    }

    /**
     * 商城banner 删除
     */
    public function mallDel(){
        $id=input('id');
        $this->advert->advertDel($id,1,2);
        returnJson(200,'操作成功');
    }

    /**
     * 商城banner  批量删除
     */
    public function mallDelAll(){
        $id=input('ids');
        $this->advert->advertDel($id,2,2);
        returnJson(200,'操作成功');
    }

    /**
     * 商城banner 编辑页面数据
     */
    public function mallEdit(){
        $id=input('id');
        $field='id,advert_pic,sort,status,location,jump_type,jump_id,target_url as jump_url,goods_type';
        $returnData=$this->advert->advertDetail($id,2,$field);
        returnJson(200,'success',$returnData);
    }

    /**
     * 商城banner  编辑提交
     */
    public function mallSubmit(){
        $param=input();
        $validate = new Validate([
            ['id', 'require', 'id不能为空'],
            ['location', 'require', '广告位置不能为空'],
            ['advert_pic', 'require', '广告图片不能为空'],
            ['status', 'require', '显示状态不能为空'],
            ['sort', 'require', '排序不能为空'],
            ['jump_type', 'require', '跳转方式不能为空'],
            ['jump_id', 'require', '跳转id不能为空'],
            ['jump_url', 'require', '跳转路径不能为空'],
        ]);
        if(!$validate->check($param))
        {
            returnJson(-2003,$validate->getError());
        }

        $this->advert->mallEdit($param);

        returnJson(200,'操作成功');
    }


    /**
     * 返利商城 列表
     */
    public function rebateList(){
        $param=input();
        $page=empty($param['current_page']) ? 1 : $param['current_page'];
        $page_size=empty($param['page_num']) ? 10: $param['page_num'];

        $returnData=$this->advert->rebateList($page,$page_size);

        returnJson(200,'success',$returnData);
    }

    /**
     * 返利商城 --添加
     */
    public function rebateAdd(){
        $param=input();
        $validate = new Validate([
            ['location', 'require', '广告位置不能为空'],
            ['advert_pic', 'require', '广告图片不能为空'],
            ['status', 'require', '显示状态不能为空'],
            ['sort', 'require', '排序不能为空'],
            ['jump_type', 'require', '跳转方式不能为空'],
            ['jump_id', 'require', '跳转id不能为空'],
            ['jump_url', 'require', '跳转路径不能为空'],
        ]);
        if(!$validate->check($param))
        {
            returnJson(-2003,$validate->getError());
        }

        $this->advert->rebateEdit($param);

        returnJson(200,'操作成功');
    }

    /**
     * 返利商城  编辑页面数据
     */
    public function rebateEdit(){
        $id=input('id');
        $field='id,advert_pic,sort,status,location,jump_type,jump_id,target_url as jump_url,goods_type';
        $returnData=$this->advert->advertDetail($id,4,$field);
        returnJson(200,'success',$returnData);
    }

    /**
     * 返利商城   编辑提交
     */
    public function rebateSubmit(){
        $param=input();
        $validate = new Validate([
            ['id', 'require', 'id不能为空'],
            ['location', 'require', '广告位置不能为空'],
            ['advert_pic', 'require', '广告图片不能为空'],
            ['status', 'require', '显示状态不能为空'],
            ['sort', 'require', '排序不能为空'],
            ['jump_type', 'require', '跳转方式不能为空'],
            ['jump_id', 'require', '跳转id不能为空'],
            ['jump_url', 'require', '跳转路径不能为空'],
        ]);
        if(!$validate->check($param))
        {
            returnJson(-2003,$validate->getError());
        }

        $this->advert->rebateEdit($param);

        returnJson(200,'操作成功');
    }


    /**
     * 返利商城 是否显示
     */
    public function rebateShow(){
        $param=input();
        $id=$param['id'];
        $data['status']=$param['status'];
        $data['update_time']=time();
        $this->advert->advertEdit($id,$data,4);
        returnJson(200,'操作成功');
    }

    /**
     * 返利商城 删除
     */
    public function rebateDel(){
        $id=input('id');
        $this->advert->advertDel($id,1,4);
        returnJson(200,'操作成功');
    }

    /**
     * 返利商城  批量删除
     */
    public function rebateDelAll(){
        $id=input('ids');
        $this->advert->advertDel($id,2,4);
        returnJson(200,'操作成功');
    }

    /**
     * 爆品商城 列表
     */
    public function explodeList(){
        $param=input();
        $page=empty($param['current_page']) ? 1 : $param['current_page'];
        $page_size=empty($param['page_num']) ? 10: $param['page_num'];

        $returnData=$this->advert->explodeList($page,$page_size);

        returnJson(200,'success',$returnData);
    }

    /**
     * 爆品商城 --添加
     */
    public function explodeAdd(){
        $param=input();
        $validate = new Validate([
            ['location', 'require', '广告位置不能为空'],
            ['advert_pic', 'require', '广告图片不能为空'],
            ['status', 'require', '显示状态不能为空'],
            ['sort', 'require', '排序不能为空'],
            ['jump_type', 'require', '跳转方式不能为空'],
            ['jump_id', 'require', '跳转id不能为空'],
            ['jump_url', 'require', '跳转路径不能为空'],
        ]);
        if(!$validate->check($param))
        {
            returnJson(-2003,$validate->getError());
        }

        $this->advert->explodeEdit($param);

        returnJson(200,'操作成功');
    }

    /**
     * 爆品商城  编辑页面数据
     */
    public function explodeEdit(){
        $id=input('id');
        $field='id,advert_pic,sort,status,location,jump_type,jump_id,target_url as jump_url,goods_type';
        $returnData=$this->advert->advertDetail($id,5,$field);
        returnJson(200,'success',$returnData);
    }

    /**
     * 爆品商城   编辑提交
     */
    public function explodeSubmit(){
        $param=input();
        $validate = new Validate([
            ['id', 'require', 'id不能为空'],
            ['location', 'require', '广告位置不能为空'],
            ['advert_pic', 'require', '广告图片不能为空'],
            ['status', 'require', '显示状态不能为空'],
            ['sort', 'require', '排序不能为空'],
            ['jump_type', 'require', '跳转方式不能为空'],
            ['jump_id', 'require', '跳转id不能为空'],
            ['jump_url', 'require', '跳转路径不能为空'],
        ]);
        if(!$validate->check($param))
        {
            returnJson(-2003,$validate->getError());
        }

        $this->advert->explodeEdit($param);

        returnJson(200,'操作成功');
    }


    /**
     * 爆品商城 是否显示
     */
    public function explodeShow(){
        $param=input();
        $id=$param['id'];
        $data['status']=$param['status'];
        $data['update_time']=time();
        $this->advert->advertEdit($id,$data,5);
        returnJson(200,'操作成功');
    }

    /**
     * 爆品商城 删除
     */
    public function explodeDel(){
        $id=input('id');
        $this->advert->advertDel($id,1,5);
        returnJson(200,'操作成功');
    }

    /**
     * 爆品商城  批量删除
     */
    public function explodeDelAll(){
        $id=input('ids');
        $this->advert->advertDel($id,2,5);
        returnJson(200,'操作成功');
    }

    /**
     * 干货分享商城 列表
     */
    public function shareList(){
        $param=input();
        $page=empty($param['current_page']) ? 1 : $param['current_page'];
        $page_size=empty($param['page_num']) ? 10: $param['page_num'];

        $returnData=$this->advert->shareList($page,$page_size);

        returnJson(200,'success',$returnData);
    }

    /**
     * 干货分享商城 --添加
     */
    public function shareAdd(){
        $param=input();
        $validate = new Validate([
            ['location', 'require', '广告位置不能为空'],
            ['advert_pic', 'require', '广告图片不能为空'],
            ['status', 'require', '显示状态不能为空'],
            ['sort', 'require', '排序不能为空'],
            ['jump_type', 'require', '跳转方式不能为空'],
            ['jump_id', 'require', '跳转id不能为空'],
            ['jump_url', 'require', '跳转路径不能为空'],
        ]);
        if(!$validate->check($param))
        {
            returnJson(-2003,$validate->getError());
        }

        $this->advert->shareEdit($param);

        returnJson(200,'操作成功');
    }

    /**
     * 干货分享商城  编辑页面数据
     */
    public function shareEdit(){
        $id=input('id');
        $field='id,advert_pic,sort,status,location,jump_type,jump_id,target_url as jump_url,goods_type';
        $returnData=$this->advert->advertDetail($id,3,$field);
        returnJson(200,'success',$returnData);
    }

    /**
     * 干货分享商城   编辑提交
     */
    public function shareSubmit(){
        $param=input();
        $validate = new Validate([
            ['id', 'require', 'id不能为空'],
            ['location', 'require', '广告位置不能为空'],
            ['advert_pic', 'require', '广告图片不能为空'],
            ['status', 'require', '显示状态不能为空'],
            ['sort', 'require', '排序不能为空'],
            ['jump_type', 'require', '跳转方式不能为空'],
            ['jump_id', 'require', '跳转id不能为空'],
            ['jump_url', 'require', '跳转路径不能为空'],
        ]);
        if(!$validate->check($param))
        {
            returnJson(-2003,$validate->getError());
        }

        $this->advert->explodeEdit($param);

        returnJson(200,'操作成功');
    }


    /**
     * 干货分享商城 是否显示
     */
    public function shareShow(){
        $param=input();
        $id=$param['id'];
        $data['status']=$param['status'];
        $data['update_time']=time();
        $this->advert->advertEdit($id,$data,3);
        returnJson(200,'操作成功');
    }

    /**
     * 干货分享商城 删除
     */
    public function shareDel(){
        $id=input('id');
        $this->advert->advertDel($id,1,3);
        returnJson(200,'操作成功');
    }

    /**
     * 干货分享商城  批量删除
     */
    public function shareDelAll(){
        $id=input('ids');
        $this->advert->advertDel($id,2,3);
        returnJson(200,'操作成功');
    }
}